/*!
    \copyright  Copyright (c) 2024 Qualcomm Technologies International, Ltd.
                All Rights Reserved.
                Qualcomm Technologies International, Ltd. Confidential and Proprietary.
    \version    
    \file       dult_advertiser.h
    \addtogroup dult
    \brief      Header file for the component handling DULT Advertisement.
    @{
*/

#ifndef DULT_ADVERTISER_H_
#define DULT_ADVERTISER_H_
#include "le_advertising_manager_multi_set.h"

bool dult_EnableAdvertising(void);
void dult_DisableAdvertising(void);

/*! \brief Private API to setup DULT Advertisement.
    \param void
    \return void
*/
void dult_InitAdvertising(void);

/*! \brief Sets address to be used for the advertisement set.
           Only needs to be used when the DULT component manages its own advertisement set,
           not when the advertisement data need to be included in the caller's advertisement set.
    \param addr The device address.
    \return None
 */
void dult_SetAdvAddress(bdaddr addr);

void dult_SetNearOwner(bool near_owner);

le_adv_item_data_t dult_GetDultAdvData(void);

void dult_SetProprietaryPayload(const uint8_t *const payload, const size_t payload_size);

/*! @brief Private API to notify the LE Advertising Manager on DULT adverts data change
 */
bool dult_AdvNotifyDataChange(void);

#endif
